package cn.csc.module.pay.controller.admin.funddetails.vo;

import lombok.*;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.util.*;
import io.swagger.annotations.*;
import cn.csc.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.csc.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 用户资金收支明细分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayFundDetailsPageReqVO extends PageParam {

    @ApiModelProperty(value = "外部用户id")
    private String appUserId;

    @ApiModelProperty(value = "商户编号")
    private BigInteger merchantId;

    @ApiModelProperty(value = "撤销分账金额")
    private BigDecimal refundDivideMoney;

    @ApiModelProperty(value = "分账金额")
    private BigDecimal divideMoney;

    @ApiModelProperty(value = "冻结金额")
    private BigDecimal freezeMoney;

    @ApiModelProperty(value = "撤销冻结金额")
    private BigDecimal refundFreezeMoney;

    @ApiModelProperty(value = "支付订单Id")
    private BigInteger orderId;

    @ApiModelProperty(value = "见证宝订单")
    private BigInteger jzbOrderId;

    @ApiModelProperty(value = "交易类型,0:其他,1:冻结 2:撤销冻结 3:分账")
    private Integer tradeType;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
